package com.example.ecas.persistence;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.ecas.pojo.Account;
import com.example.ecas.pojo.Board;
import com.example.ecas.pojo.Patient;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
@Mapper
public interface PatientMapper extends BaseMapper<Patient> {

    // 返回指定id的患者
    default Patient getPatient(int id) {
        System.out.println(this.selectById(id));
        return this.selectById(id);
    }

    // 返回名字带有关键字的患者
    default List<Patient> getPatientsByKey(String key) {
        QueryWrapper<Patient> queryWrapper = new QueryWrapper<>();
        queryWrapper.like("name", key);
        return this.selectList(queryWrapper);
    }

    // 新增一个新患者信息，返回实际操作的行数
    default int addPatient(Patient patient) {
        if (patient == null) {
            return 0;
        }
        QueryWrapper<Patient> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", patient.getId());
        if (!this.exists(queryWrapper)) {
            return this.insert(patient);
        }
        return 0;
    }

    // 修改患者信息,board必须已经在数据库中存在
    default int updatePatient(Patient patient) {
        if (patient != null) {
            return this.updateById(patient);
        }
        return 0;
    }

    // 删除指定id的患者信息
    default int deletePatient(int id) {
        return this.deleteById(id);
    }


}
